//------------------------------------------------------------------------------
//SFWK Framework
//Copyright (C) 2011 SQLI

//This program is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with this program.  If not, see <http://www.gnu.org/licenses/>.
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;

namespace SFWK.Core.ExpressionBuilder
{
    [Serializable]
    public class EditableMemberBindingCollection : List<EditableMemberBinding>
    {
        public EditableMemberBindingCollection() : base() { }
        public EditableMemberBindingCollection(IEnumerable<EditableMemberBinding> source) : base(source) { }
        public EditableMemberBindingCollection(IEnumerable<MemberBinding> source) 
        {
            foreach (MemberBinding ex in source)
                this.Add(EditableMemberBinding.CreateEditableMemberBinding(ex));
        }

        public IEnumerable<MemberBinding> GetMemberBindings()
        {
            foreach (EditableMemberBinding editEx in this)
                yield return editEx.ToMemberBinding();
        }       
    }
}

